(define (gcd a b)
   (if (= b 0)
       a
       (gcd b (remainder a b))))

; (gcd 206 40)

; normal order
; (gcd 40 (remainder 206 40))
; evaluates (remainder 206 40) = 6
; (gcd 6 (remainder 40 6))
; (gcd 4 (remainder 6 4))
; (gcd 2 (remainder 4 2))
; (gcd 0 (remainder 2 0))

; Four evaluations of remainder

; applicative order

; (gcd 40 6) ; +1 evaluation
; (gcd 6 4)  ; +1 evaluation
; (gcd 4 2)  ; +1 evaluation
; (gcd 2 0)  ; +1 evaluation
; 
